<?php
//系统常量定义
define( 'IN' , true );
defined('DS') or define( 'DS' , DIRECTORY_SEPARATOR );
defined('CORE_PATH') or define('CORE_PATH' , __DIR__.DS );//框架系统目录
defined('APP_PATH') or define('APP_PATH' , dirname($_SERVER['SCRIPT_FILENAME']).DS);//应用目录
defined('CONF_PATH') or define('CONF_PATH' , APP_PATH.'config'.DS); // 应用配置目录
defined('LANG_PATH') or define('LANG_PATH' , APP_PATH.'lang'.DS); // 应用语言目录

//报错提示
//error_reporting(0); 
error_reporting(E_ALL^E_NOTICE);
ini_set( 'display_errors' , true );

include_once( CORE_PATH . 'common' . DS . 'core.function.php' );//加载系统公共函数
include_once( CORE_PATH . 'common' . DS . 'extend.function.php' );//加载系统扩展函数
@include_once( APP_PATH . 'common' . DS . 'app.function.php' );//加载应用公共函数

include_once( CORE_PATH . 'config' .  DS . 'core.config.php' );//加载系统配置
include_once( APP_PATH . 'config' . DS . 'app.config.php' );//加载应用配置
// 取得前端控制器参数
$c = $GLOBALS['c'] = v('c') ? v('c') : c('default_controller');
$a = $GLOBALS['a'] = v('a') ? v('a') : c('default_action');

$c = basename(strtolower( strip_tags($c) ));
$a =  basename(strtolower( strip_tags($a) ));
// 类文件后缀
const EXT = '.class.php';
// controller文件名
$cont_file = APP_PATH . 'controller'  . DS . $c . EXT;
// Class名
$class_name = $c .'Controller' ; 
if( !file_exists( $cont_file ) )
{
	$cont_file = CORE_PATH . 'controller' . DS . $c . EXT;
	if( !file_exists( $cont_file ) ) die('Can\'t find controller file - ' . $c . EXT);
} 

// 载入控制类文件
require_once( $cont_file );
if( !class_exists( $class_name ) ) die('Can\'t find class - '   .  $class_name );

/*注册类的自动加载*/
function my_autoload ($pClassName) 
{
$file = CORE_PATH . 'lib' . DS . $pClassName .EXT;
	if ( is_file($file) ) {
		include_once($file);
		return true;
	}
}
spl_autoload_register("my_autoload");

// 调用方法
$o = new $class_name;
if( !method_exists( $o , $a ) ) die('Can\'t find method - '   . $a . ' ');

//输出压缩
if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE && @ini_get("zlib.output_compression")) ob_start("ob_gzhandler");

call_user_func( array( $o , $a ) );


